Amalgamated Graph Transformations and Their Use for Specifying AGG - an Algebraic Graph Grammar System

نویسندگان

  • Gabriele Taentzer
  • Martin Beyer
چکیده

ion levels. The formal de nition of this concept which can be found in e.g. [Bey92] regards graphs as a set of objects with three partial functions: the source, target, and abstraction function. They are totalized by including a special object ?. A node is an object for which both the source and target function are unde ned. There are a few rather obvious consistency conditions that are enforced by theAgg-system, e.g. the abstraction function has to commute with the source and target function and has to be acyclic. The graph editor provides operations for the input and modi cation of graphs, di erent views on graphs and supports the editing and simulating of graph rewriting. Several graphs can be edited simultaneously. Any number of windows can be opened. Each window displays (a part of) an abstraction level. An abstraction level can be shown in several windows. All windows can be used in the same way for editing or transforming graphs. Any change in the representation of a graph is immediately re ected in all appropiate windows. Several parameters in uencing the display of graphs can be adjusted in each window, like the size of node symbols, the zoom factor or the hiding of objects. It is intended to experiment with graph transformation doing the layout manually, before adding layout possibilities to the system. (See for example [Bra91] or [NP91].) Some edit operations are especially suited for graph transformations, e.g. a gluing operation which merges two objects to a new object inheriting the incidence relations of the original objects and a copy operation drawing edges between all original nodes and edges and their copies. These operations facilitate the input of transformation rules. A simple example (cf. [LB93]) of a transformation rule is shown in gure 1. The abstraction concept is supported conveniently by the editor. It is possible to create objects in di erent abstraction levels before de ning the abstraction function. Another possibility is the operation \create abstraction": The user selects a number of objects belonging to one abstraction level and creates an abstraction object for them, i.e. an object is inserted into the next higher abstraction level and is de ned as the abstraction of the selected objects. The created abstraction object will be a node if the selected objects include nodes. The abstraction concept is supported by all edit operations. E.g. when objects are moved, all re nement objects as well as all incident objects are moved accordingly. Other operations of the editor are the changing of node or edge symbols, an extensive and orthogonal grid functionality for each window, view operations, a bunch of interactive and graph based operations for the selection of objects, copy-, moveand resize-operations and more. The transformation component implements the single-pushout approach to graph rewriting (see [L ow93]) and is illustrated by a simple example, a graph model of a queue structure. Figure 1 shows a rule which model the insertion of an element at the end (2) of the queue. The head of the queue is marked by 4. The abstraction concept is used to present an easy to use interface to the transformation component: graphs and the left and right side of rules are abstracted to single nodes, rule morphisms and occurrences are abstracted to single edges. In this way, the higher abstraction level is used as a diagram level. Figure 2 shows an occurrence of the insertion rule presented above on the graph level and the diagram level. A transformation step is performed by triggering the \apply rule"-operation (via Fig. 1. Transformation rule: graph level and diagram level Fig. 2. Occurrence: graph level and diagram level menu or keyboard) and clicking on the occurrence and the place where the derived graph is to be inserted in the window displaying the diagram level. After the execution of the transformation step, the diagram level contains the pushout diagram, the graph level includes the derived graph as well as the morphisms from the old graph and the right hand side of the rule to the derived graph (see gure 3). Fig. 3. Transformation step: graph level and diagram level Graphs are not restricted to two abstraction levels. The abstraction concept can also be used to structure large graphs by hiding details in lower abstraction levels. 3 Towards a graph speci cation of the AGG-system In this section we present rst ideas and examples for modelling the Agg-system by graphs and graph transformations. Within this paper we restrict the model to the level of internal graph structures and logical graph representation which means that we do not care about the layout and position of graphs and windows. Principles of the modelling concept are shown by specifying the Agg-operations \insertion of a node" and \create abstraction". The internal states of the Agg-system are modelled by graphs where important Agg-objects like windows, graphs, abstraction levels, nodes, edges, etc. are represented by nodes and the use relations between them by edges. In gure 4 the modelling of an arbitrary state of the Agg-system is shown where the model of the initial state is bordered with dashed lines. Nodes and edges are represented as objects belonging to an abstraction level. Moreover, there is a symbol for each object and each window showing the corresponding level. Such a symbol contains the graphical representation of the object. The cursor points to the current window and abstraction level. All abstraction levels belonging to one graph form a list which is described by edges between di erent levels. The bottom and the top level do not have a re nement and an abstraction, resp. This is indicated by ? and >.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AGG 2.0 - New Features for Specifying and Analyzing Algebraic Graph Transformations

The integrated development environment AGG supports the specification of algebraic graph transformation systems based on attributed, typed graphs with node type inheritance, graph rules with application conditions, and graph constraints. It offers several analysis techniques for graph transformation systems including graph parsing, consistency checking of graphs as well as conflict and dependen...

متن کامل

Parallel Independence of Amalgamated Graph Transformations Applied to Model Transformation

The theory of algebraic graph transformation has proven to be a suitable underlying formal framework to reason about the behavior of model transformations. In order to model an arbitrary number of actions at different places in the same model, the concept of amalgamated graph transformation has been proposed. Rule applications of certain regularity are described by a rule scheme which contains ...

متن کامل

Analysis of Hypergraph Transformation Systems in AGG based on M-Functors

Hypergraph transformation systems are examples of M -adhesive transformation systems based on M -adhesive categories. For typed attributed graph transformation systems, the tool environment AGG allows the modelling, the simulation and the analysis of graph transformations. A corresponding tool for analysis of hypergraph transformation systems does not exist up to now. The purpose of this paper ...

متن کامل

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG is a general development environment for algebraic graph transformation systems which follows the interpretative approach. Its special power comes from a very flexible attribution concept. AGG graphs are allowed to be attributed by any kind of Java objects. Graph transformations can be equipped with arbitrary computations on these Java objects described by a Java expression. The AGG environ...

متن کامل

An Operational Semantics for UML 2 Sequence Diagrams Supported by Model Transformations

In this paper, we propose an operational semantics for UML2SD (Unified Modeling Language 2 Sequence Diagrams) to its equivalent Büchi automaton. The objective of this paper is twofold; first we provide UML2SD with Büchi automaton formal semantics, and second we bridge the gap between theoretic studies to practical studies by improving model transformations. The approach is based on Algebraic gr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993